Telecommunications systems, particularly packet-based systems, are well known in the art. While wired and wireless packet-based systems offer a variety of advantages, they pose certain challenges when used to deliver isochronous data, e.g., audio data. For example, one set of packets may traverse a network as quickly as possible in one instance and, at another time, the same set of packets may take longer to reach the destination due to access delays, errors in the transmission (and subsequent retransmission) or, particularly in the case of wireless networks, lack of coverage. A party listening to a transmitted audio (for example, speech) stream may hear unusual delays or dropouts if packets are delayed or lost, resulting in unnatural sounding audio and loss of continuity.
Several solutions have been proposed to prevent the loss of timely data delivery, particularly in audio applications. In the first class of solutions, significant amounts of audio data are buffered at the destination before starting playback. Thus, if delivery of audio data to the destination is subsequently delayed, a sufficient amount of data will already be available for reproduction thereby maintaining continuity. While this method can work, the amount of delay and memory required to buffer a sufficient amount of data (i.e., to outlast any anticipated delays) may be prohibitive.
The second class requires that quality of service mechanisms be built into the network used to convey the data and that quality of service contracts be negotiated between the source and network. The Reservation Protocol (RSVP), Differentiated Services and Integrated Services technology being developed by the Internet Engineering Task Force (IETF) are examples of how quality of service is introduced into a network. Upon acceptance of a contract, the network provider is bound to provide a certain level of throughput, end-to-end delay, delay variance and error rate performance. In this manner, a given data source is assured that it can transmit data at a certain rate, and the data destination is assured that it will receive the data in a timely manner. Relying on such quality of service mechanisms eliminates the need for large buffers at the destinations. However, all routing elements within the network along the path between the source and destination must implement the quality of service mechanisms. This adds to the cost of implementing the network and, consequently, to the per unit cost of delivering the data. Thus, a technique that accommodates the performance variations inherent in packet-based networks and that avoids the problems associated with prior art solutions would represent an advancement of the art.